气象场和化学物质排放是大气化学模式的两项最重要的前驱资料。在实验之余,我将着力学习WRF-Chem的有关内容,并记录、发布。
按照WRF-Chem Tutorial中的说明,在Learning to Run WRF-Chem之前,我先学习How to Generate Emission for WRF-Chem
本文记录Exercise 1的实现过程,可供有兴趣的同学参考。
运行WRF和WRF-Chem的一个重要区别: 排放源清单的输入。__Exercise 1__将会介绍建立WRF-Chem可读取的源清单文件的最基本方法(转置现有全球清单),其核心工具为__PREP_CHEM_SOURCES__。
安装过程
HDF5安装
该程序的顺利运行需要依赖HDF5, NetCDF, zlib等标准库。之前在安装WRF-Chem时已经安装了NetCDF和zlib,这里只列出HDF5和szip的安装步骤。
1 | #1. szip安装 |
排放预处理程序安装
下载并解压后,进入/bin/build
文件夹,修改与编译器对应的配置文件,如我将采用gfortran编译器编译,则vim include.mk.gfortran
, 修改其中的NETCDF与HDF5库对应位置,按以下命令进行编译:
1 | `make OPT=gfortran CHEM=RADM_WRF_FIM` |
其中OPT=
对应编译器类别(i.e, intel, pgi,gfortran, …),CHEM=
对应特定化学机理,此处选择__RADM__机理。这将决定WRF-Chem读取源清单文件的化学物质分类格式。
值得注意的是,按上述操作,将在编译__edgar_emission.f90__过程出错,WRF论坛中也有用户提交了同样的报错,幸有大神回复并解决,解决方法是调整某些行的字符串的长度,可参考该网页进行修改。
修改完成后,再次编译,若出现Finished building === ../prep_chem_sources_RADM_WRF_FIM_.exe
,说明编译成功!
ヽ(✿゚▽゚)ノ
PS: 安装完成后,编辑~/.bashrc
1 | # 添加以下几行 |
案例
排放预处理程序安装
按照Exercise 1中的input文件,替换prep_chem_src\bin
文件夹下原有的input文件,并按照自己的global_emission文件夹修改读取原始排放数据的路径。
运行$./prep_chem_sources_RADM_WRF_FIM_.exe
运行成功后,会出现五个输出文件,其中有三个后缀名为.bin
的文件,分别为:
1 | WRF-TUTORIAL-T-2010-07-14-000000-g1-ab.bin ## 人为源排放清单 |
将prep_chem_src\bin
文件夹中三个.bin
后缀的输出文件移动到WRF-Chem
文件夹中, 此处我在WRFV3\test\
文件夹内新建em_ex1
文件夹,内容复制同目录下的em_real
。
运行./convert_emiss.exe
按照论坛上大家的观点,目前WRF-Chem 3.4版本以上会报错,参考1参考2。
若运行成功,则会生成三个排放源文件,其中
(1) __wrfchemi_d01__文件对应设计模拟区域内各类污染物的排放清单结果,包括CO, NH3, PM10, PM2.5及各类有机物(按照RACM机理分类)。
(2) __wrffirechemi_d01__文件对应生物质燃烧排放情况.
(3)__wrfchemi_gocart_bg_d01__文件对应二甲基硫(DMS), NO3, OH, H2O2的背景浓度分布。DMS单位为nM/L,其他物种单位为体积混合比(volume mixing ratio)。
依据上述的步骤
原始全球清单 → 模拟区域排放二进制文件 → WRF-Chem可读取的nc格式排放源文件
完成了排放源资料的制作
初始场与边界场文件的生成
此处链接同模拟区域、时间的met_em.xxx
文件(由WPS模型完成)链接,运行./real.exe
, 生成初始场和边界场文件,内部包括了化学物质和气象资料信息。
输出文件生成
运行./wrf.exe
,生成wrfout文件。下图为PM2.5的分布情形,可以看出如阿尔卑斯山、安纳陀利亚高原等高海拔地区浓度相对低。
附图: 参考曼彻斯特大学教程,绘制WRF-Chem运行流程如下:
此处需要运行./real.exe
两次,目前我还没有弄明白。
参考资料
Kommentare